// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.SQLName;
// import com.alibaba.druid.sql.ast.statement.SQLCreateStatement;
// import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;

#include "OracleCreateDatabaseDbLinkStatement.h"
#include "../../../../ast/SQLExpr.h"
#include "../../../../ast/SQLName.h"
#include "../../visitor/OracleASTVisitor.h"

BOOL_ptr OracleCreateDatabaseDbLinkStatement::isShared()
{
  return shared;
}

void OracleCreateDatabaseDbLinkStatement::setShared(BOOL_ptr shared)
{
  this->shared = shared;
}

BOOL_ptr OracleCreateDatabaseDbLinkStatement::isPublic()
{
  return isPublic_;
}

void OracleCreateDatabaseDbLinkStatement::setPublic(BOOL_ptr value)
{
  this->isPublic_ = value;
}

SQLName_ptr OracleCreateDatabaseDbLinkStatement::getName()
{
  return name;
}

void OracleCreateDatabaseDbLinkStatement::setName(SQLName_ptr name)
{
  this->name = name;
}

SQLName_ptr OracleCreateDatabaseDbLinkStatement::getUser()
{
  return user;
}

void OracleCreateDatabaseDbLinkStatement::setUser(SQLName_ptr user)
{
  this->user = user;
}

string_ptr OracleCreateDatabaseDbLinkStatement::getPassword()
{
  return password;
}

void OracleCreateDatabaseDbLinkStatement::setPassword(string_ptr password)
{
  this->password = password;
}

SQLExpr_ptr OracleCreateDatabaseDbLinkStatement::getUsing()
{
  return using_;
}

void OracleCreateDatabaseDbLinkStatement::setUsing(SQLExpr_ptr using_)
{
  this->using_ = using_;
}

SQLExpr_ptr OracleCreateDatabaseDbLinkStatement::getAuthenticatedUser()
{
  return authenticatedUser;
}

void OracleCreateDatabaseDbLinkStatement::setAuthenticatedUser(SQLExpr_ptr authenticatedUser)
{
  this->authenticatedUser = authenticatedUser;
}

string_ptr OracleCreateDatabaseDbLinkStatement::getAuthenticatedPassword()
{
  return authenticatedPassword;
}

void OracleCreateDatabaseDbLinkStatement::setAuthenticatedPassword(string_ptr authenticatedPassword)
{
  this->authenticatedPassword = authenticatedPassword;
}

// @Override
void OracleCreateDatabaseDbLinkStatement::accept0(OracleASTVisitor_ptr visitor)
{
  if (visitor->visit(SharedObject(OracleCreateDatabaseDbLinkStatement)))
  {
    acceptChild(visitor, name);
    acceptChild(visitor, user);
    acceptChild(visitor, using_);
    acceptChild(visitor, authenticatedUser);
  }
  visitor->endVisit(SharedObject(OracleCreateDatabaseDbLinkStatement));
}
